package com.site.service.master;

import java.util.List;

import com.site.dto.master.CodeBizBean;
import com.site.util.base.service.BaseService;
import com.site.util.extremetable.QueryPage;

/**
 * Code服务层接口
 * @author Lee 2013-02-25
 */
public interface CodeService extends BaseService {

	/**
	 * 获取所有的Code
	 * @return
	 */
	public List<CodeBizBean> getAllCodeBizBean();
	
	/**
	 * 分页获取所有的Code
	 * @return
	 */
	public List<CodeBizBean> getAllCodeBizBean(QueryPage queryPage,CodeBizBean code);
	
	/**
	 * 获取所有的Code名称
	 * @return
	 */
	public List<String> getAllCodeName();
	
	/**
	 * 新建Code时判断Code名称或Code键名是否存在
	 * @param codeName
	 * @param codeKey
	 * @param codeType	1表示新建 2表示为Code新加Key
	 * @return
	 */
	public boolean isExistsCodeNameOrCodeKey(String codeName,String codeKey,Integer codeType);
	
	/**
	 * 根据CoId查找Code对象
	 * @param codeId
	 * @return
	 */
	public CodeBizBean getCodeById(Integer codeId);
	
	/**
	 * 根据Id逻辑删除Code
	 * @param codeId
	 * @return
	 */
	public int tombstoneCode(Integer codeId);
	
	/**
	 * Code排序
	 * @param codeId
	 * @param orderBy
	 * @return
	 */
	public int updateCodeOrderBy(Integer codeId,Integer orderBy);
	
	public String getCodeNameByKey(String code,String key);
	
	/**
	 * 查找所有的Code的备注作为查询条件
	 * @return
	 */
	public List<String> findAllCode();
	/**
	 * 根据codeName和codeKey获取code对象
	 * @param codeName	code名称
	 * @param codeKey	code键值
	 * @return
	 */
	public CodeBizBean getCodeInfoByCodeNameAndKey(String codeName,String codeKey);
}
